export default {
  getInfo () {
    var ua = window.navigator.userAgent
    var reg = /Imoral\/((.)*)/ig
    let array = null
    ua.replace(reg, function () {
      array = arguments[1].split('/')
    })
    if (array) {
      return {
        'AppVersion': array[0],
        'Device': array[1],
        'SysVersion': array[2]
      }
    }
    return null
  },
  versionCompare (v1, v2, options) {
    var lexicographical = options && options.lexicographical,
        zeroExtend      = options && options.zeroExtend,
        v1parts         = v1.split('.'),
        v2parts         = v2.split('.')

    function isValidPart (x) {
      return (lexicographical ? /^\d+[A-Za-z]*$/ : /^\d+$/).test(x)
    }

    if (!v1parts.every(isValidPart) || !v2parts.every(isValidPart)) {
      return NaN
    }
    if (zeroExtend) {
      while (v1parts.length < v2parts.length) v1parts.push('0')
      while (v2parts.length < v1parts.length) v2parts.push('0')
    }
    if (!lexicographical) {
      v1parts = v1parts.map(Number)
      v2parts = v2parts.map(Number)
    }
    for (var i = 0; i < v1parts.length; ++i) {
      if (v2parts.length == i) {
        return 1
      }
      if (v1parts[i] == v2parts[i]) {
        continue
      }
      else if (v1parts[i] > v2parts[i]) {
        return 1
      }
      else {
        return -1
      }
    }
    if (v1parts.length != v2parts.length) {
      return -1
    }
    return 0
  }
}
